博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ThinkCMF----调用指定栏目的文章列表
阅读量:7118 次
发布时间:2019-06-28

本文共 1795 字,大约阅读时间需要 5 分钟。

做项目的时候,在用ThinkCMF在首页调用指定的栏目文章,但是没有找到好的方法,就自己写了一个。

但是又不想写标签,就在公用方法里面实现了:找到common.php

操作数据库,要用到think的控制器和think的数据库类:

field(array('id','parent_id'))->select(); $category_arr = array(); $cur_category_list = array(); array_push($cur_category_list,intval($id)); foreach($category_list as $v){ $arr = array(); $arr['id'] = $v['id']; $arr['pid'] = $v['parent_id']; array_push($category_arr,$arr); } //得到当前栏目所有的子栏目ids $cur_category_ids = array_merge($cur_category_list,get_all_child($category_arr,$id)); //获取当前所有子栏目的所有文章ids $all_post_ids_arr = array(); $all_post_ids = Db::name('portal_category_post')->where('category_id','in',$cur_category_ids)->field(array('post_id'))->select(); foreach($all_post_ids as $v){ array_push($all_post_ids_arr,$v['post_id']); } // 获取当前栏目及子栏目所有的文章列表 $where = array(); $where['id'] = array('in',$all_post_ids_arr); $where['post_type'] = 1; $where['post_status'] = 1; $pagelist_arr = Db::name('portal_post')->where($where)->paginate($limit); $page = $pagelist_arr->render(); // 处理跳转链接 和 栏目的图片 $pagelist = array(); foreach($pagelist_arr as $k => $v){ $v['thumb'] = '/upload/'.json_decode($v['more'],true)['thumbnail']; $v['category_id'] = get_category_id($v['id']); array_push($pagelist,$v); } return $pagelist;}function get_category_id($id){ $categoryinfo = Db::name('portal_category_post')->where('post_id','eq',$id)->field('category_id')->find(); return $categoryinfo['category_id'];}

怎么调用?

即可

 

转载于:https://www.cnblogs.com/e0yu/p/9540967.html

你可能感兴趣的文章
mouseover、mouseout防止多次触发
查看>>
Linux命令行:rpm 命令参数使用详解
查看>>
expdp数据泵自动备份脚本
查看>>
菲波那切数列
查看>>
java 调用存储过程示例版
查看>>
linux之lvm管理及扩容
查看>>
eclipse 查找接口实现类快捷键
查看>>
awk(二)流程控制,数组
查看>>
归并排序
查看>>
Netmask v. Address Prefix Length
查看>>
我的友情链接
查看>>
Unity3D教程:iTween插件的介绍和用法
查看>>
zabbix监控磁盘IO
查看>>
Linux inode分析
查看>>
ospf 区域类型详细
查看>>
Linux下Bash编程之條件判斷详解(二)
查看>>
模板引擎缓存
查看>>
php 5.6.11添加模块
查看>>
手动切换和自动切换图片 js代码
查看>>
matlab-线性代数 根据二次型写矩阵
查看>>